package com.shuiyun.jtt.message.jt808;

import com.shuiyun.jtt.anno.Message;
import com.shuiyun.jtt.enums.JT808;
import com.shuiyun.jtt.message.JTMessage;
import com.shuiyun.jtt.utils.codec.DataType;
import com.shuiyun.jtt.utils.codec.FieldValue;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author shuiyun
 * @program device-simulator
 * @description 查询终端属性应答
 * @date 2022-05-11 20:54
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@Message(JT808.查询终端属性应答0x0107)
public class T0107 extends JTMessage {

    /**
     * bit0 ,0 :不适用客运车辆,1 :适用客运车辆;
     * bit1 ,0:不适用危险品车辆,1 :适用危险品车辆;
     * bit2 ,0:不适用普通货运车辆,1 :适用普通货运车辆;
     * bit3 ,0 :不适用出租车辆,1 :适用出租车辆;
     * bit6 ,0:不支持硬盘录像,1 :支持硬盘录像;
     * bit7 ,0:一体机,1 :分体机;
     * bit8 ,0:不适用挂车,1:适用挂车
     */
    @FieldValue(type = DataType.WORD,desc = "终端类型")
    private Integer deviceType;

    @FieldValue(type = DataType.STRING,length = 11,desc = "制造商ID")
    private String makerId;

    @FieldValue(type = DataType.STRING,length = 30,desc = "终端型号")
    private String deviceModel;

    @FieldValue(type = DataType.STRING,length = 30,desc = "终端ID")
    private String deviceId;

    @FieldValue(type = DataType.BCD8421,length = 10,desc = "SIM卡号")
    private String simNo;

    @FieldValue(type = DataType.STRING,lengthSize = 1,desc = "硬件版本号")
    private String hardwareVersion;

    @FieldValue(type = DataType.STRING,lengthSize = 1,desc = "固件版本号")
    private String firmwareVersion;

    /**
     * bit0-支持GPS定位
     * bit1-支持北斗定位
     * bit2-支持GLONASS定位
     * bit3-支持Galileo定位
     */
    @FieldValue(type = DataType.BYTE,desc = "GNS模块属性")
    private Integer gnssAttribute;

    /**
     * bit0 0:不支持GPRS通信,1 :支持GPRS通信;
     * bitl 0:不支持CDMA通信,1:支持CDMA通信;
     * bit2 0:不支持TD - SCDMA通信,1 :支持TD-SCDMA通信;
     * bit3 0:不支持WCDMA通信,l :支持WCDMA 通信;
     * bit4 0:不支持CDMA200O通信,1 :支持CD-MA2000通信;
     * bit5 0:不支持TD-LTE通信,1:支持TD-LTE通信;
     * bit7 0:不支持其他通信方式,1 :支持其他通信方式
     */
    @FieldValue(type = DataType.BYTE,desc = "通信模块属性")
    private Integer networkAttribute;
}
